1. Field of the Invention
The invention relates to a voice recording-reproducing system for improving encoding efficiency by combining vector quantization with an analog flash memory, and a voice recording-reproducing method using the same.
2. Description of the Related Art
There has recently been seen marked invigoration and rapid growth in a market for a voice data recording-reproducing system. This is due to the fact that a voice data recording-reproducing technique is satisfying users"" needs as a business tool such as an IC recorder, and the like, or as one of add-on functions of a radio, and the like, because of lengthening of recording-reproducing time, and lowering of the cost of a voice recording-reproducing system.
In the case of the above-described voice recording-reproducing system serving as the business tool such as the IC recorder, and the like, lengthening of recording time and enhancement of voice quality have become indispensable keywords, and have been achieved due to rapid progress made recently in a high efficiency compression encoding technique. Since the high efficiency compression encoding technique requires massive processing of complex and highly digitized signals of voice data, use of a high-speed high-performance LSI for exclusive use in processing the signals becomes essential conditions for carrying out the technique. As a result, the cost of the voice recording-reproducing system in whole tends to go up.
On the other hand, in the case of the voice recording-reproducing system serving as one of the add-on functions of a radio, and the like, lowering the cost of the voice recording-reproducing system becomes essential conditions in order to check the price of a merchandise itself using the same, leaving problems of lengthening recording time and enhancing voice quality unresolved. It becomes necessary therefore to develop techniques for recording and reproducing voice by use of a simple circuitry and configuration, avoiding complex and highly digital signal processing as much as possible.
In a market for a low priced voice recording-reproducing system, there is now available a voice recording-reproducing system wherein voice data are recorded in an analog flash memory, and are reproduced as necessary. The system comprises a low-pass filter for anti-aliasing, an analog flash memory for recording input signals which have passed through the filter, and a controller for controlling these components. The system performs operations comprising the following steps, respectively:
(Operation at the Time of Recording)
(R1) the step of receiving voice signals from a voice data input equipment such as a microphone or the like;
(R2) the step of passing input voice data through the low-pass filter for anti-aliasing. This filter is a filter for prevention of aliasing by limiting a voice band for recording;
(R3) the step of the controller sampling the voice data which have passed through the filter according to a preset cycle (at a sampling frequency), thereby acquiring sampling voice data; and
(R4) the step of the controller recording electric charge, corresponding to a value of the sampling voice data acquired, in the analog flash memory, thereby recording one sample value of the input voice data in one unit of analog flash.
Processing by the steps (R1) to (R4) as described above are repeated until the input voice data come to an end, recording all the sampling voice data in the analog flash memory.
(Operation at the Time of Reproduction)
(P1) the step of the controller acquiring values of electric charge, recorded in the analog flash memory; and
(P2) the step of the controller converting the values into a voice waveform at the preset sampling frequency as with the case of recording, and transferring the voice waveform to the low-pass filter (the voice waveform at this stage takes a staircase-like shape, and is reverted to an original smooth waveform after passed through the low-pass filter).
The processing as above describes the operations of the voice recording-reproducing system using the analog flash memory.
(Problems Associated with Lengthening of Recording Time)
When a thought is given to recording voice for long hours by use of the voice recording-reproducing system, a first conceivable method is to increase a memory capacity. More specifically, this is a method of lengthening a recording time by adding a memory for recording xe2x80x9can increment of recording time x data at a sampling frequencyxe2x80x9d and further by adding xe2x80x9ca controller for controlling the memory added onxe2x80x9d, that is, by modifying the configuration of the system. With this method, however, upon application of an IC, an area for mounting the IC will increase, thus resulting in an increase in the cost of the system.
As a voice recording method for long hours without increasing a memory capacity, a method of compressing voice data by use of encoding techniques is conceivable. This is a method whereby a data capacity is rendered smaller by efficiently encoding voice data instead of recording the voice data in original state, that is, by converting the voice data into other data without impairing the original quality of the voice data, thereby achieving lengthening of recording time. With a high efficiency compression encoding method as represented by the CELP scheme, and so forth, it is possible to prevent an increase in a memory capacity, however, in this case, processing of massive operation is required for encoding and decoding, so that there will arise needs for a LSI having a high processing capacity, thus resulting in an increase in the cost, all the same.
(A Conventional Voice Recording-reproducing System Using the Vector Quantization Technique)
There is available a vector quantization (VQ) method as a coding method with a relatively small amount of operation that can be considered for use in combination with a voice recording-reproducing system (xe2x80x9cAn Algorithm for Vector Quantizer Designxe2x80x9d by Yoseph Lin de et. al., IEEE TRANSACTION ON COMMUNICATIONS, vol. COM-28, No. 1, January, 1980). The conventional voice recording-reproducing system using the VQ method is described hereinafter. The system comprises a low-pass filter for anti-aliasing, a controller for controlling the whole system, a memory for storing recorded data, a VQ processor for encoding voice data, a codebook, and so forth. The codebook is a frame waveform dictionary wherein standard patterns for a plurality of frame waveforms are catalogued.
There is available xe2x80x9cLBG algorithmxe2x80x9d as one of typical existing methods of creating the frame waveform dictionary. The LBG algorithm is an algorithm with which the frame waveform dictionary can be easily created from actual voice data, and which can be divided broadly into the following two operations; that is,
(a) a half-split process of centroids (corresponding to a waveform pattern), and
(b) an optimization process.
Simply put, this is a method of creating the frame waveform dictionary by starting from preparing an initial centroid on the basis of learning data, and alternately repeating the processes (a), and (b) as described above until a required number of centroids are calculated.
The VQ method has the following advantages:
(a) a data space can be rendered smaller by converting a plurality of successive sample data into one pattern number, that is, by encoding (compression effect); and
(b) the method can be implemented with relative ease simply by providing means of handling the plurality of the sample data as one frame waveform, and means of retrieving a pattern similar to the frame waveform among waveform patterns catalogued in the frame waveform dictionary.
However, since the method has the following problems, these techniques can not be easily combined.
(a) A large number of frame waveforms need to be catalogued in the frame waveform dictionary in order to perform high-quality recording and reproduction with the use of the VQ method.
(b) There is the upper limit to the number of values stored in one cell (that is, the upper limit to resolutions) owing to the nature of the analog flash memory. For this reason, code values that can be stored in one cell are limited (the number of waveform patterns that can be catalogued in the frame waveform dictionary is limited).
Accordingly, simple combination of the VQ method with the voice recording-reproducing system will cause a problem of degradation in the quality of voice data to be recorded. It is conceivable therefore as a method of resolving the problem described above to increase the number of the waveform patterns catalogued in the frame waveform dictionary, and at the same time, to store waveform numbers of the waveform patterns in a plurality of cells instead of one cell. For example, there is a method of preparing a plurality of the frame waveform dictionaries. More specifically, it is a method whereby a small number of waveform patterns are catalogued in each one of the frame waveform dictionaries, and input voice data are encoded into two types of values, that is, the numbers of the respective frame waveform dictionaries, and the numbers of waveform patterns, thereby inhibiting degradation in the voice quality.
With this method, the number of the waveform patterns that can be catalogued in each of the frame waveform dictionaries can be reduced, however, when encoding one sample data, the sample data need to be converted into a plurality of code data, that is, a code number and a codebook number, thus resulting in a lower data compression ratio.
It is an object of the invention to provide a voice recording-reproducing system capable of maintaining high encoding efficiency by solving problems associated with combining the VQ method with an analog flash memory, and a voice recording-reproducing method using the same.
To this end, with the voice recording-reproducing system according to the invention, code patterns are first sorted on a codebook in order of power, and catalogued while preparing fixed parameters indicating a selection range size of the code patterns (not greater than values recordable in an analog flash memory), and a variable parameter indicating an offset amount of the selection range, from the leading edge of the codebook.
When selecting a waveform, such selection is made from among the code patterns within the selection range, and the selection range is shifted to the optimal position by renewing an offset amount which is calculated on the basis of a code number resulting from encoding of a preceding frame, and is decided upon.